#include "variableADeclarer.h"

void initVariableADeclarer()
{
	int i;
	nbVariableADeclarer = 0;
	
	for(i=0;i<GENMIPS_VARIABLE_NBDECLARATIONMAX;i++)
	{
		varaibleADeclarer[i] = NULL;
	}
}

void ajoutVariableADeclarer(entree element)
{	
	char * buffer = malloc(sizeof(char) * 256);
	
	if(nbVariableADeclarer >= GENMIPS_VARIABLE_NBDECLARATIONMAX)
	{
		printf("Erreur : ajoutVariableADeclarer : table variableADeclarer pleine.\n");
		exit(-1);
	}
	else
	{
		if(element.valeur.type == ENTREE_TYPECTE_ENTIER)
		{
			sprintf(buffer,"\t%s:	.word	0\n",element.nom);
		}
		else if(element.valeur.type == ENTREE_TYPECTE_BOOL)
		{
			sprintf(buffer,"\t%s:	.word	0\n",element.nom);						
		}
		else if(element.valeur.type == ENTREE_TYPECTE_CHAR)
		{
			sprintf(buffer,"\t%s:	.asciiz	%s\n",element.nom,element.valeur.valeurChar);						
		}
		else
		{
			printf("Erreur : ajoutVariableADeclarer : type entree constante incorrect.\n");
			exit(-1);
		}
		
		varaibleADeclarer[nbVariableADeclarer] = buffer;
		nbVariableADeclarer++;
	}
}